Selection - Wybieranie: Wybieramy najmniejszy element z tablicy i w następnej iteracji umieszczamy go na początku tablicy (swap). Tablica do elementu zamienionego jest posortowana. Szukamy najmniejszego elementu z pozostałej części tablicy i ponawiamy kroki. Insertion - Wstawianie: Dzielimy tablicę na część uporządkowaną (1 element) i nieuporządkowaną (reszta elementów). Wybieramy następny element z tablicy i porównujemy z elementem wcześniejszym. Jeśli jest od niego mniejszy, to zapamiętujemy go i przepisujemy element wcześniejszy o jedno miejsce do przodu. Jeśli doszliśmy do końca tablicy uporządkowanej, to wstawiamy wartość zapamiętaną na pierwsze miejsce tablicy uporządkowanej. Merge sort - Scalanie: Dzielimy tablicę na dwie podtablice do momentu, gdy podtablice są jednoelementowe. Teraz porównujemy jednoelementowe podtablice i układamy je w odpowiedniej kolelności, budując coraz większe podtablice. Gdy zbudowaliśmy tablice dwuelementowe, porównujemy wartości z obu tablic na zmianę. Analogicznie gdy tablice są coraz większe. Quick sort: Ustawiamy pivot na ostatni index tablicy oraz granicę na przed pierwszym elementem. Sprawdzamy czy element graniczny jest mniejszy od pivota. Wówczas zamieniamy go z pierwszym elementem na prawo od granicy jeśli jest mniejszy i przesuwamy granicę o 1 do przodu. Jeśli nie jesteśmy w stanie wykonać więcej zamian, to swappujemy pivot z elementem po prawej od granicy. Teraz sortujemy dwie tablice po dwóch stronach granicy, zapisując je bez pivota.. Tablica lewa jest sortowana tak samo jak tablica ogólna, pivot na ostatnim miejscu a granica przed pierwszym. Proces powtarza się aż